/*
	试题 基础练习 十进制转十六进制

	资源限制
		内存限制：512.0MB   C/C++时间限制：1.0s   Java时间限制：3.0s   Python时间限制：5.0s

	问题描述
　　	十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号，分别表示十进制数的0至15。十六进制的计数方法是满16进1，所以十进制数16在十六进制中是10，而十进制的17在十六进制中是11，以此类推，十进制的30在十六进制中是1E。
　　	给出一个非负整数，将它表示成十六进制的形式。

	输入格式
　　	输入包含一个非负整数a，表示要转换的数。0<=a<=2147483647

	输出格式
　　	输出这个整数的16进制表示

	样例输入
		30

	样例输出
		1E
*/

/*-------------------------------------------------------------------------------------------------------------*/
#include<iostream>
#include<vector>
#include<string>
#include<list>
using namespace std;

int main()
{
	long long decimal;
	cin >> decimal;
	list<char> hex_num;
	// 使用 do...while 循环可以判断十进制为 0 的情况
	do{
		int remainder = decimal % 16;	// 余数
		switch (remainder){ 
		case 10:
			hex_num.push_front('A');
			break; 
		case 11:
			hex_num.push_front('B');
			break; 
		case 12:
			hex_num.push_front('C');
			break; 
		case 13:
			hex_num.push_front('D');
			break; 
		case 14:
			hex_num.push_front('E');
			break; 
		case 15:
			hex_num.push_front('F');
			break;
		default:
			hex_num.push_front(remainder + '0');
			break;
		}
		decimal /= 16;
	} while (decimal);
	list<char>::iterator it = hex_num.begin();
	while (it != hex_num.end()){
		cout << *it;
		it++;
	}
	cout << endl;
	return 0;
}

/*-----------------------------------------------------------------------------------------------------------------*/